7.8.2017 מבחן מועד ב' תאריך הבחינה: שמות המרצים: מר בועז ארד פרופ' עמוס ביימל מר יהונתן כהן דר' עדן כלמטץ' גב' מיכל שמש אנא קיראו היטב את ההוראות שלהלן: שם הקורס: תכנון אלגוריתמים מספר הקורס: 202-1-2041 שנה: 2017 סמסטר: ב' מועד: ב' משך הבחינה: 3.5 שעות ודאו כי כל עמודי הבחינה נמצאים בידכם. אסור חומר עזר: סה"כ נקודות 100. הטיוטה. במחברת תחילה המבחן את פתרו לאחר מכן העתיקו את התשובות למקום המיועד בטופס התשובות. בדיקת המבחן לא תביא בחשבון את מחברת הטיוטה או תוספות בגב העמוד. מחברת הטיוטה מיועדת לגריסה! רשמו את מספר הנבחן בראש כל דף. המבחן מורכב מ- 4 שאלות, יש לענות על כל השאלות. לסדר הופעת השאלות בטופס או לניקוד אין בהכרח קשר לקושי השאלה. מותר להשתמש במבני נתונים ידועים מבלי לפרט את מימושם. מותר להשתמש באלגוריתמים ידועים )מהרצאות ותרגולים( מבלי לפרט את מימושם. כל שימוש בתוצאה מעבודות הבית דורשת הוכחה מלאה. ניתן להשתמש בטענות של סעיפים קודמים אפילו אם לא פתרתם אותם. טענות ללא נימוק לא תתקבלנה. ניתן להסתמך על טענות ומשפטים מהכיתה ומהתרגולים, אך יש לנסח אותם במדויק. אם לא מצוין במפורש אחרת, על תיאור אלגוריתם לכלול ניתוח זמן ריצה והוכחת נכונות. במידה ואינכם יודעים את התשובה לסעיף כלשהו, רשמו "לא יודעים" ותזכו ב- 20% מניקוד הסעיף. אסור לרשום "לא יודעים" על חלק מסעיף. מותר להשתמש בעיפרון, אך במידה והנכם עושים זאת וודאו כי מה שכתבתם הינו קריא וברור. מומלץ מאוד לבדוק את עבודתכם לפני הגשתה. חל איסור לכלול בתשובותיכם ספויילרים ל"משחקי הכס". בהצלחה! Page 1 of 5
שאלה 1 סעיף א ]9 תזכורת: עץ מכוון עם שורש s הוא גרף מכוון (E T =,V) בו לכל v V קיים מסלול יחיד מ- s ל- v. בעץ מכוון יש 1 V קשתות. בעיית המסלולים הקלים ביותר בעץ: קלט: עץ מכוון E) T = (V, עם שורש s V ופונקציית משקל.w: E R פלט: לכל קודקוד v V יש להחזיר את משקל המסלול הקל ביותר מ- s ל- v ב- T. תארו אלגוריתם הרץ בזמן O( V ) ופותר את בעיית נכונות האלגוריתם או לנתח את זמן ריצתו. המסלולים הקלים בעץ. ביותר אין צורך להוכיח סעיף ב ]16 נתון גרף מכוון E),G = (V, קודקוד,s V ופונקציית משקל.w: E R נניח כי לכל קודקוד v V קיים ( E T =,V) s הוא גרף G מקדקוד G. נזכר כי עץ מסלולים קלים ביותר של v ב- s ל- מסלול מ- המקיים: s, הוא עץ מכוון המושרש ב- T,E E לכל v, V המסלול ב- מ T G. ב- v ל- s הוא מסלול קל ביותר מ- v ל- s -,s V בעיית וידוא עץ מסלולים: קלט: גרף מכוון (E G =,V) כך שלכל קודקוד v V קיים מסלול מ- s ל- v ב- G, פונקציית משקל w: E R ועץ מכוון E ) T = (V, המושרש ב- s כך ש-.E E יש להחזיר: "כן" אם T הוא עץ מסלולים קלים ביותר של G מקודקוד s ו- "לא" אחרת. קודקוד תארו אלגוריתם הרץ בזמן O( E ) ופותר את בעיית וידוא עץ מסלולים. הוכיחו נכונותו ונתחו זמן ריצה. Page 2 of 5
שאלה 2 אין קשר בין סעיפים שונים בשאלה זו. סעיף א ]8 הוכיחו או הפריכו: אם G גרף מכוון חסר מעגלים, אזי בכל ריצת DFS ב- G יווצר אותו יער.DFS אם הטענה נכונה יש לספק מדוע זאת דוגמא נגדית. הוכחה מלאה ואם היא שגוייה יש להפריך דוגמא ידי על נגדית והסבר סעיף ב ]8 יהי (E G =,V) גרף קשיר, לא מכוון ופשוט ו- :w E R פונקציית משקלים. נתון כי בגרף קיימת קשת e E לכל w(e 0 ) < w(e) שמשקלה קטן ממש ממשקל כל הקשתות האחרות בגרף, כלומר, e 0.)e 0 F )כלומר, T שייכת ל- הקשת e 0 G של T = (V, F) הוכיחו כי לכל עץ פורש מינימום.{e 0 } סעיף ג ]9.SAT תהי f cl הרדוקציה של קוק ולוין שתוארה בהרצאה משפה כלשהי A NP הרדוקציה f cl מקיימת ש- x A אם ורק אם.f cl (x) = φ SAT אל השפה נזכר כי קיבעו האם הטענה הבאה נכונה או שגויה והסבירו במילים את קביעתכם: אם x A אזי קיימת השמה מספקת יחידה עבור.f cl (x) = φ Page 3 of 5
שאלה 3 נתונה השפה ה- NP -שלמה הבאה:. Clique = { G, k : 3 < k - ו k קליקה בגודל G גרף לא מכוון וקיימת ב- G} בשאלה זו תוכיחו כי השפה הבאה היא NP -שלמה.. EvenClique =,G } : k 3 < k - ו k גרף לא מכוון בו דרגות כל הקודקודים זוגיות וקיימת בו קליקה בגודל {G סעיף א ]5 הוכיחו כי השפה.EvenClique NP סעיף ב ]5 הראו כי הרדוקציה הבאה מהשפה Clique אל השפה EvenClique שגויה: בהינתן קלט k G = (V, E), לשפה Clique הרדוקציה k f(g = (V, E), k) = G = (V, E ), כאשר V = V {v } הדרכה: קיימת דוגמה נגדית בה ב- G ישנם 5 קדקודים. סעיף ג ]15 {דרגתו של v היא אי זוגית V, E = E {(v, v ): v תארו רדוקציה פולינומית f מהשפה Clique אל השפה.EvenClique הוכיחו כי אם f(x) EvenClique אז Clique x )אין צורך להוכיח את הכיוון הראשון של נכונות הרדוקציה ולנתח זמן ריצת הרדוקציה(. Page 4 of 5
M E כך שבכל קדקוד v V נוגעות לכל שאלה ]25 4 סעיף א ]17 דו-שידוך בגרף דו-צדדי (E G =,V) הוא קבוצה של קשתות x 1 y 1 x 2 y 2 x 3 x 4 y 3 x 5 y 4 X Y היותר שתי קשתות ב- M. לדוגמא, הקשתות המודגשות בגרף הבא הן דו-שידוך. בעיית דו-שידוך מקסימום: קלט: גרף דו-צדדי (E G =,V) בו הצדדים,X Y נתונים. פתרון חוקי: דו-שידוך ב- G. יש למצוא: פתרון חוקי )דו שידוך( עם מספר מקסימלי של קשתות. תארו אלגוריתם הפותר את בעיית דו-שידוך מקסימום ורץ בזמן ( E.O( V 2 אין צורך להוכיח נכונות האלגוריתם או לנתח את זמן ריצתו. סעיף ב ]8 דו-שידוך חזק בגרף דו-צדדי הוא דו-שידוך כך שבכל קודקוד בגרף נוגעת לפחות קשת אחת בדו-שידוך. לדוגמא, הקשתות המודגשות בגרף המתואר בסעיף א אינן דו-שידוך חזק כי אין בהן קשת הנוגעת בקודקוד.x 4 בעיית דו-שידוך חזק מקסימום: קלט: גרף דו-צדדי (E G =,V) בו הצדדים,X Y נתונים ובנוסף, דו-שידוך חזק M 0 ב- G. פתרון חוקי: דו-שידוך חזק ב- G. יש למצוא: פתרון חוקי )דו שידוך חזק( עם מספר מקסימלי של קשתות. שימו לב, הדו-שידוך החזק M 0 הנתון בקלט איננו בהכרח עם מספר מקסימלי של קשתות. תארו אלגוריתם הפותר את בעיית דו-שידוך חזק מקסימום ורץ בזמן ( E.O( V 2 אין צורך להוכיח נכונות האלגוריתם או לנתח את זמן ריצתו. אם אתם משנים אלגוריתמים ידועים, אזי מספיק לציין את השינויים שאתם מבצעים. Page 5 of 5